package com.example.servletdemo.listner.session;

import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionBindingListener;

public class MyHttpSessionBindingListener implements HttpSessionBindingListener {
    private static final String TAG = "MyHttpSessionBindingListener";

    /**
     * 当对象正在被绑定到Session中,Servlet容器调用这个方法来通知该对象
     * 2次新对象。
     * @param event
     */
    @Override
    public void valueBound(HttpSessionBindingEvent event) {
        System.out.println(TAG+"=>valueBound"+" =>name:"+event.getName()+" value:"+event.getValue());
    }

    /**
     * 当从Session中删除对象时，Servlet容器调用这个方法来实现了HttpSessionBindingListener接口的对象，
     * 而这个对象 可以利用HttpSessionBindingEvent对象来访问与它相联系的HttpSession对象。
     * @param event
     */
    @Override
    public void valueUnbound(HttpSessionBindingEvent event) {
        System.out.println(TAG+"=>valueUnbound"+" =>name:"+event.getName()+" value:"+this);//this代表绑定的对象
    }
    //第二次覆盖。第一次解绑。
}
